const commentService = require('../service/comment.service');

class CommentController {

  // 创建一条评论
  async create(ctx, next) {
    // 1.获取参数
    const { content, momentId } = ctx.request.body;
    const { id } = ctx.user;
    // 2.创建评论
    const result = await commentService.create(content, momentId, id);
    // 3.返回结果
    ctx.body = result;
  }

  // 回复一条评论
  async reply(ctx, next) {
    // 1.获取参数
    const { content, momentId } = ctx.request.body;
    const { commentId } = ctx.params;
    const { id } = ctx.user;
    // 2.回复评论
    const result = await commentService.reply(content, momentId, commentId, id);
    // 3.返回结果
    ctx.body = result;
  }

  // 删除一条评论
  async remove(ctx, next) {
    // 1.获取参数
    const { commentId } = ctx.params;
    const { id } = ctx.user;
    // 2.删除操作
    const result = await commentService.remove(id, commentId);
    // 3.返回结果
    ctx.body = result;
  }

  // 返回评论列表
  async list(ctx, next) {
    // 1.获取参数
    const { momentId, offset, limit } = ctx.query;
    // 2.查询数据
    const result = await commentService.getCommentList(momentId, offset, limit);
    // 3.返回结果
    ctx.body = result;
  }


}

module.exports = new CommentController();
